// 尼姆博弈
// 一共有 n 堆石头，两人轮流进行游戏
// 在每个玩家的回合中，玩家需要 选择任一 非空 石头堆，从中移除任意 非零 数量的石头
// 如果不能移除任意的石头，就输掉游戏
// 返回先手是否一定获胜，如果是先取必胜，请输出第一次该如何取
// 测试链接 : https://www.luogu.com.cn/problem/P1247
// 相关帖子 ：https://www.cnblogs.com/dx123/p/17263056.html
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 500001;
int arr[MAXN];

inline int read()
{
    char ch = getchar();
    int x = 0, f = 1;
    while(ch < '0' || ch > '9')
    {
        if(ch == '-') f = -1;
        ch = getchar();
    }
    while(ch >= '0' && ch <= '9')
    {
        x = 10 * x + ch - '0';
        ch = getchar();
    }
    return f * x;
}

int main()
{

    int n = read();
    int eor = 0;
    for(int i = 1; i <= n; ++i)
    {
        arr[i] = read();
        eor ^= arr[i];
    }

    if(eor == 0) puts("lose");
    else
    {
        for(int i = 1; i <= n; ++i)
        {
            // arr[i] 是第 i 堆石头的数量
            // arr[i] - (arr[i] ^ eor) 要取走的石头数量
            // arr[i] ^ eor 是第 i 堆剩余的石头数量
            // 那么后手所面临的总的异或和就是 0
            if((arr[i] ^ eor) >= arr[i]) continue;
            printf("%d %d\n", (arr[i] - (arr[i] ^ eor)), i);
            arr[i] ^= eor;
            break;
        }
        for(int i = 1; i <= n; ++i) printf("%d ", arr[i]);
    }

    return 0;
}